package com.yykj.hospital.client.dto;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.yykj.common.util.serializer.LocalDate2LongSerializer;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.persistence.Column;
import javax.persistence.Id;
import java.time.LocalDateTime;
import java.util.List;

@Data
public class DoctorDTO {

    private String doctorId;

    @ApiModelProperty("微信openId")
    private String openid;

    @ApiModelProperty("腾讯IM 账号 ID")
    private String tencentAccountId;

    @ApiModelProperty("医院ID")
    private Integer hospitalId;

    @ApiModelProperty("医院名称")
    private String hospitalName;

    @ApiModelProperty("工号")
    private String jobNum;

    @ApiModelProperty("医生姓名")
    @Column(length = 50)
    private String doctorName;

    @ApiModelProperty("医生性别")
    @Column(length = 10)
    private String gender;

    @ApiModelProperty("五笔简码")
    private String wb;

    @ApiModelProperty("拼音简码")
    private String py;

    @Column(length = 20)
    @ApiModelProperty("联系电话")
    private String mobile;

    @ApiModelProperty("职称")
    private String officer;

    @ApiModelProperty("科室ID")
    private Integer depId;

    @ApiModelProperty("科室明细,包含父科室")
    private List<Integer> depIds;

    @ApiModelProperty("科室名称")
    private String depName;

    @ApiModelProperty("科室名称明细")
    private String depDetailName;

    @ApiModelProperty("头像")
    private String headImg = "";

    @ApiModelProperty("身份证号码")
    private String idCardNo = "";

    @ApiModelProperty("身份证前照")
    private String idCardFront = "";

    @ApiModelProperty("身份证后照")
    private String idCardBack = "";

    @ApiModelProperty("证书")
    private String certificate = "";

    @Column(length = 2000)
    @ApiModelProperty("介绍")
    private String info = "";

    @ApiModelProperty("微信小程序二维码")
    private String wxqrcode;

    @Column(length = 2000)
    @ApiModelProperty("擅长技能")
    private String skill = "";

    @ApiModelProperty("排序")
    private Integer sorting = 100;

    @ApiModelProperty("启用状态")
    private Boolean enableStatus ;

    @ApiModelProperty("审核状态")
    private Integer checkStatus = 0;

    @ApiModelProperty("是否是推荐医生")
    private Boolean hotStatus;

    @ApiModelProperty("是否需要显示")
    private Boolean needShow = Boolean.FALSE;

    @ApiModelProperty("创建时间")
    @JsonSerialize(using = LocalDate2LongSerializer.class)
    private LocalDateTime addTime;

    @ApiModelProperty("更新时间")
    @JsonSerialize(using = LocalDate2LongSerializer.class)
    private LocalDateTime modifyTime;

}
